#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 0;i <100;i++)
//	{
//		if (i % 2 == 1)
//		{
//			printf("%d ", i);
//		}
//	}
//
//}

//#include<stdio.h>
//int main()
//{
//	int i = 1;
//	for (i = 1;i < 101;i++)
//	{
//		if (i % 3 == 0)
//			printf("%d ", i);
//	}
//}

//#include<stdio.h>
//
//int main()
//{
//	int i = 0;
//	
//	int a, b, c,tmp=0;
//    scanf("%d %d %d", &a, &b, &c);
//	if (a < b) {
//		tmp = a;
//		a = b;
//		b = tmp;
//	}
//	if (a < c) {
//		tmp = a;
//		a = c;
//		c = tmp;
//	}
//	if (b < c) {
//		tmp = b;
//		b = c;
//		c = tmp;
//	}
//	printf("%d %d %d", a, b, c);
//	return 0;
//}
//
//#include<stdio.h>
//int main()
//{
//    int m, i;
//    for (m = 100;m <= 200;m++)
//    {
//        for (i = 2;i < m;i++)
//            if (m % i == 0)
//                break;
//        if (i >= m)
//            printf("%d ", m);
//    }
//    printf("\n");
//    return 0;
//}
 
//#include<stdio.h>
//
//int main()
//{
//	int i, j;
//	for (i = 1;i < 9;i++)
//	{
//		for (j = 1;j <= i;j++)
//		{
//			printf("%d*%d=%d ", j, i, i * j);
//		}
//		printf("\n");
//	}
//}

//#include<stdio.h>
//int main()
//{
//	int i = 1000;
//	for (i = 1000;i < 2000;i++)
//	{
//		if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}
//
//#include<stdio.h>
//int main()
//{
//	int arr[10] = { 0 };
//	for (int i = 0;i < 10;i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int max = arr[0];
//	for (int i = 0;i < 10;i++)
//	{
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//	}
//	printf("%d", max);
//	return 0;
//}

#include<stdio.h>
int main()
{
	int a, b;
	scanf("%d %d", &a, &b);
	while (a != b)
	{
		if (a > b)
			a = a - b;
		if (a < b)
			b = b - a;
	}
	printf("%d", a);
	return 0;
}